﻿#ifndef SOPHOMORE_WIDGET_H
#define SOPHOMORE_WIDGET_H

#include <QWidget>
#include "tools/base_math_tools.h"

class QCheckBox;
class QPushButton;
class QVBoxLayout;
class QHBoxLayout;
class QSpinBox;
class QLabel;
class QLineEdit;
class LineCheckBox;
class SophomoreWidget : public QWidget
{
    Q_OBJECT
public:
    explicit SophomoreWidget(QWidget *parent = nullptr);

signals:

public slots:
    void slotClickBtn();
    void slotClickSaveBtn();
    void slotClickConfigBtn1();
private:
    void initUI();
    void initConnect();
    void initLineCheckStatus();
    void saveConfigFile();

    BaseMathTools m_tools;
    std::vector<LineCheckBox*> functionPointers;
    std::vector<LineCheckBox*> m_listCheckBoxs;
    LineCheckBox *m_lineCheckBox1;
    LineCheckBox *m_lineCheckBox2;
    LineCheckBox *m_lineCheckBox3;
    LineCheckBox *m_lineCheckBox4;
    LineCheckBox *m_lineCheckBox5;
    LineCheckBox *m_lineCheckBox6;
    LineCheckBox *m_lineCheckBox7;
    LineCheckBox *m_lineCheckBox8;
    LineCheckBox *m_lineCheckBox9;

    QHBoxLayout *m_layoutNum;
    QVBoxLayout *m_layoutMain;

    QPushButton *m_btn;
    // 选择保存文件路径的按钮
    QPushButton *m_btnSavevFile;
    // 显示文件路径
    QLineEdit* m_edtSaveFileName;
    QHBoxLayout *m_layoutSaveFile;

    QLabel* m_labNum;
    QSpinBox* m_SpinBoxNum;
};

#endif // SOPHOMORE_WIDGET_H
